package net.xdclass.service;

import net.xdclass.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import net.xdclass.model.FlushToken;
import net.xdclass.request.UserLoginRequest;
import net.xdclass.request.UserRegisterRequest;
import net.xdclass.utils.JsonData;
import net.xdclass.vo.UserVO;

import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author lixin
 * @since 2024-08-14
 */
public interface IUserService extends IService<User> {

    /**
     * 用户注册
     * @param registerRequest
     * @return
     */
    JsonData register(UserRegisterRequest registerRequest);

    /**
     * 用户登录
     * @param userLoginRequest
     * @return
     */
    JsonData login(UserLoginRequest userLoginRequest);

    /**
     * 刷新token
     * @param param
     * @return
     */
    JsonData flushToken(Map<String, FlushToken> param);

    /**
     * 查看用户详情
     * @return
     */
    UserVO indUserDetail();
}
